package br.com.treinamento.gestaoExperienciaProfissional.dao;

import java.io.Serializable;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;

import br.com.treinamento.gestaoExperienciaProfissional.model.Usuario;
import br.com.treinamento.gestaoExperienciaProfissional.util.JPAUtil;


public class UsuarioDAO extends GenericDAO<Usuario> implements Serializable {

	private static final long serialVersionUID = -5828854152854362939L;
	
	private EntityManager entityManager;
	 
    public UsuarioDAO() {
        this.entityManager = JPAUtil.getEntityManager();
    }
	
	public Usuario recuperarUsuario(Usuario usuario){
		StringBuilder sb = new StringBuilder();
		sb.append("FROM Usuario u WHERE");
		sb.append(" u.login = :login");
		sb.append(" AND ");
		sb.append("u.senha = :senha");
		
		Query query = entityManager.createQuery(sb.toString());
		query.setParameter("login", usuario.getLogin());
		query.setParameter("senha", usuario.getSenhaCriptografada());
		
		try {
			return (Usuario) query.getSingleResult();
		} catch (NoResultException e) {
			return null;
		}
	}

}
 